package com.jiangyao.model.dto.backend;

import com.jiangyao.model.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 班级DTO
 *
 * @author: yangyongchuan
 * @create: 2020年08月6日 00:58
 */
@ApiModel("班级DTO")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ClassInfoDTO implements BaseDTO {

	private static final long serialVersionUID = 1753514726707642147L;

	/**
	 * 班级id
	 */
	@ApiModelProperty(value = "班级id")
	@NotNull(message = "班级ID不能为空", groups = {Edit.class, Detail.class})
	private Integer classId;

	/**
	 * 班级ID集合
	 */
	@ApiModelProperty(value = "班级ID集合")
	@NotNull(message = "班级ID集合不能为空", groups = {Delete.class})
	private List<Integer> classIdList;

	/**
	 * 组织id
	 */
	@ApiModelProperty(value = "组织id")
	@NotNull(message = "组织ID不能为空", groups = {Add.class})
	private Integer orgId;

	/**
	 * 专业
	 */
	@ApiModelProperty(value = "专业")
	private String major;

	/**
	 * 班级名称
	 */
	@ApiModelProperty(value = "班级名称")
	private String className;

	/**
	 * 年级
	 */
	@ApiModelProperty(value = "年级")
	private String grade;

	/**
	 * 班主任
	 */
	@ApiModelProperty(value = "班主任")
	private String charge;

	/**
	 * 班主任电话
	 */
	@ApiModelProperty(value = "班主任电话")
	private String chargePhone;

	/**
	 * 管理员ID
	 */
	@ApiModelProperty(value = "管理员ID，管理账号不为空，其他管理员信息作废")
	private Integer manageAdminUserId;

	/**
	 * 管理员账号
	 */
	@ApiModelProperty(value = "管理员账号")
	private String manageLoginName;

	/**
	 * 管理员姓名
	 */
	@ApiModelProperty(value = "管理员姓名")
	private String manageName;

	/**
	 * 管理员电话
	 */
	@ApiModelProperty(value = "管理员电话")
	private String managePhone;

	/**
	 * 状态 1-启用 0-禁用
	 */
	@ApiModelProperty(value = "状态 1-启用 0-禁用", example = "1")
	private Integer status;
}
